import { StylesService } from '../../types/constants/styles'
import { IconService } from '../icons'
import { createStandardStyleTag } from '../style_injector'
import { ThemeVarService } from './style/theme_var/service'

export abstract class BaseService {
  abstract readonly id: string
  abstract readonly name: string
  protected readonly stylesService: StylesService = StylesService.getInstance()
  protected readonly themeVarService: ThemeVarService = ThemeVarService.getInstance()
  protected readonly iconService: IconService = IconService.getInstance()

  /**
   * 创建图标样式标签
   */
  createStyleTag(styleId: string, content: string): void {
    createStandardStyleTag(styleId, content)
  }
}
